package com_djm_2025_05_16;

import java.util.Arrays;

/**
 * 两数之和
 *
 * @author dengjiangming
 * @version 1.0.0
 * @date 2025-05-16
 */
public class Demo4 {
    /*
    给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那 两个 整数，并返回它们的数组下标。
    你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。
    你可以按任意顺序返回答案。


    示例 1：
    输入：nums = [2,7,11,15], target = 9
    输出：[0,1]
    解释：因为 nums[0] + nums[1] == 9 ，返回 [0, 1] 。

     */
    public static String findTargetInNums(int[] arr, int target) {
        //辅助数组，用来存储符合要求的数组元素的下标
        int[] result = new int[2];
        int i = 0;
        int j = 0;
        //思路：很简单，遍历整个数组然后穷举所有结果即可~
        for (i = 0; i < arr.length; i++) {

            for (j = i+1; j < arr.length; j++) {
                if (arr[i] + arr[j] == target) {
                    result[0] = i;
                    result[1] = j;
                }
            }
        }

        return Arrays.toString(result);
    }

    public static void main(String[] args) {
        int[] nums = new int[]{2, 7, 11, 15};
        int target = 9;

        String result = findTargetInNums(nums, target);

        if (result.equals("[0, 0]")) {
            System.out.println("无结果");
        } else {
            System.out.println(result);
        }


    }
}
